let data = []
let p = [{
  'id': '110000',
  'name': '北京'
}, {
  'id': '130000',
  'name': '河北省'
}, {
  'id': '410000',
  'name': '河南省'
}]
let c = [{
  'id': '410100',
  'name': '郑州市'
}, {
  'id': '410200',
  'name': '开封市'
}, {
  'id': '410300',
  'name': '洛阳市'
}]
let t = [{
  'id': '410102',
  'name': '中原区'
}, {
  'id': '410103',
  'name': '二七区'
}, {
  'id': '410105',
  'name': '金水区'
}, {
  'id': '410106',
  'name': '上街区'
}]
let provinceId = '410000' // 当前省 - 河南省
let cityId = '410100' // 当前市 - 郑州市
// 把 省 都加入到 data 里
p.map((item) => {
  data.push({ value: item.id, label: item.name, children: [] })
})

// 根据当前省的id找到data里的位置
let province = data.find(p => p.value === provinceId)
// 把城市数据加入到省的children里
c.map(item => {
  province.children.push({ value: item.id, label: item.name, children: [] })
})

// 根据当前省id, 当前市id, 找到data中的位置
let city = data.find(p => p.value === provinceId).children.find(c => c.value === cityId)
// 把区信息加入到城市的children里
t.map(item => {
  city.children.push({ value: item.id, label: item.name })
})

// 把对象转换成json字符串
let s = JSON.stringify(data, '', '  ')
// 打印
console.log(s)
